Rendering content at a vehicle transmitted from a content distribution system

ABSTRACT

Provided is a system deployed in a motor vehicle having a mobile communication device, including a computer readable storage medium, in communication with a content distribution system, comprising a display screen attached to a window within the motor vehicle and a computer program stored in the computer readable storage medium of the mobile communication device. The computer program when executed by the mobile communication device performs operations comprising receiving a content packet from the content distribution system indicating a plurality of content instances and transmitting content from the content instances to render on the display screen.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a computer program product, system, andmethod for distributing content to render at vehicles.

2. Description of the Related Art

Vehicle mobile digital signage involves mounting a display screen on acar, typically the roof, and display advertisements while the car isdriving around. The company Ozzy Media, Inc., operating as Firefly,provides drivers Internet mounted smart screens to mount on a roof rackon their car to serve targeted advertisements to display on the mounteddigital screen based on a car's location, referred to as geo-fencing ofadvertisements. Mobile advertising on vehicles is very effective forreaching potential consumers and results in numerous impressions.

There is a need in the art for improved techniques for targeting contentto digital signage deployed on vehicles to display while the vehiclesare driving in an area.

SUMMARY

Provided is a system deployed in a motor vehicle having a mobilecommunication device, including a computer readable storage medium, incommunication with a content distribution system, comprising a displayscreen attached to a window within the motor vehicle and a computerprogram stored in the computer readable storage medium of the mobilecommunication device. The computer program when executed by the mobilecommunication device performs operations comprising receiving a contentpacket from the content distribution system indicating a plurality ofcontent instances and transmitting content from the content instances torender on the display screen.

Additionally, the content packet indicates a time period. The computerprogram when executed further performs determining that an end of thetime period has been reached and terminating transmitting the content inthe content packet to cease rendering content from the content packet onthe display screen in response to determining that the end of the timeperiod has been reached.

Additionally, the content packet indicates a content location. Thecomputer program when executed further performs determining that themotor vehicle is outside of the content location based on a vehiclelocation of the motor vehicle and terminating transmitting the contentin the content packet to cease rendering content from the content packeton the display screen in response to determining that the motor vehicleis outside of the content location.

Additionally, the content packet indicates a content traffic densityvalue. The computer program when executed further performs determining acurrent traffic density value based on a current location of the motorvehicle and determining whether the current traffic density value doesnot comprise the content traffic density value in the content packet.The transmitting the content in the content packet is terminated tocease rendering content from the content packet on the display screen inresponse to determining that the current traffic density value does notcomprise the content traffic density value in the content packet.

Additionally, a brake sensor transmits a brake signal when a brake ofthe motor vehicle is applied to reduce speed. The computer program whenexecuted further performs continuing to display the content from thecontent packet on the display screen during the brake sensortransmitting the brake signal.

Additionally, the computer program when executed further displaying abrake notification on the display screen in response to the brake signalconcurrently with rendering the content on the display screen visible topersons external to the motor vehicle, wherein the brake notificationindicates that the brake of the motor vehicle is being applied.

Additionally, the content from the content instances continues to betransmitted to render on the display screen while the motor vehicle isin a parked state to render the content on the display screen while themotor vehicle is in the parked state visible to people external to themotor vehicle.

Additionally, the computer program when executed further performsmaintaining a content display time for each content instance in thecontent packet indicating a duration during which the content instancewas rendered on the display screen and transmitting, to the contentdistribution system, indication for each content instance rendered onthe display screen and the content display time during which the contentinstance was rendered.

Additionally, a projector is coupled to a surface within the motorvehicle. The display screen comprises a thin film affixed to an insideof a rear window of the motor vehicle. The content is transmitted to theprojector and the projector projects the content onto the thin film. Thethin film is transparent from a perspective of a person within the motorvehicle looking out the rear window while the content is being renderedon the thin film to be viewable to people external to the motor vehicle.

Further provided is a system deployed in a motor vehicle, comprising adisplay screen attached to a window within the motor vehicle and amobile communication device, including a computer readable storagemedium, in communication with a content distribution system. A computerprogram is stored in the computer readable storage medium of the mobilecommunication device that when executed by the mobile communicationdevice performs operations comprising receiving a content packet fromthe content distribution system indicating a plurality of contentinstances and transmitting content from the content instances to renderon the display screen.

Further provided is method comprising providing a display screen toattach to windows within a motor vehicle and providing a mobilecommunication device including a computer readable storage medium, incommunication with a content distribution system. A computer program isprovided that is stored in the computer readable storage medium of themobile communication device that when executed by the mobilecommunication device performs receiving a content packet from thecontent distribution system indicating a plurality of content instancesand transmitting content from the content instances to render on thedisplay screen.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a content distribution environment.

FIG. 2 illustrates an embodiment of a content packet.

FIG. 3 illustrates an embodiment of subscriber information.

FIG. 4 illustrates an embodiment of content instance information.

FIG. 5 illustrates an embodiment of vehicle information.

FIG. 6 illustrates an embodiment of a content assignment.

FIG. 7 illustrates an embodiment of operations to generate contentpackets to distribute content to vehicles to render on display screensat the vehicles.

FIG. 8 illustrates an embodiment of operations to render content fromcontent packets on a display screen coupled to the vehicle.

FIG. 9 illustrates an embodiment of operations to process a completepacket to determine fees to charge for content rendered at a vehicle.

FIG. 10 illustrates an embodiment of operations at the vehicle toprocess a signal indicating the brakes at the vehicle are applied todisplay content and a brake notification.

FIG. 11 illustrates a computing environment in which the components ofFIG. 1 may be implemented

DETAILED DESCRIPTION

Current mobile digital signage involves providing very expensive rooftopdisplay systems to allow ads to be transmitted to the display system todisplay on the vehicle. These costs limit the ability to expand thedriver base because of the large capital outlays required to installdigital signage on the automobiles to render advertisements. Further,prior art rooftop digital display systems may have to be wired to acar's electrical system. Further, displaying ads on a side of thevehicle limits the viewership. These costs and limitations associatedwith current mobile digital advertising has limited wide scale adoptionand expansion of digital signage.

Described embodiments provide improved computer technology and systemsto distribute subscriber content to vehicles to satisfy subscriberparameters for the content. Described embodiments provide a vehicledatabase having vehicle information indicating, for each vehicle of aplurality of vehicles, a vehicle location value. A subscription databasehas subscriber information for each of a plurality of subscribers,having content instances. Each content instance indicates content, acontent time period, and a content location at which the content is tobe rendered during the content time period. For each group of contentinstances in the subscriber information for the subscribers having asame location and a content time period that begins at a current time, adetermination is made of vehicles having a vehicle location within thecontent location. For each group of content instances, a determinationis made of an assignment of the content instances to a vehicle of thedetermined vehicles. For each vehicle assigned the content instances, acontent package having content from the assigned content instances istransmitted to the assigned vehicle to cause the assigned vehicle todisplay the content on a display screen coupled to the vehicle to beviewed by people in a vicinity of the vehicle.

The described embodiments provide databases and computer technology tomatch subscriber content to vehicles that satisfy the subscribercriteria for distributing. Described embodiments form content packets totransmit content assigned to a vehicle to the assigned vehicle to renderat the vehicle. The content in the content packets may come fromdifferent subscribers, but have the same distribution criteria, such astime period, location, traffic density, etc., so that content may bebundled in one content packet to provide to one vehicle to render on adisplay screen at the vehicle to satisfy the subscriber distributioncriteria.

An additional embodiment provides improved techniques for distributingcomponents to an operator of a vehicle, including a projector, a displayscreen, and computer program stored in a mobile computing device in thevehicle. The mobile communication device may also be distributed to theoperator of the vehicle or the operator may provide the mobilecommunication device in the form of a smartphone. The display screen isattached to the interior of the vehicle to stream content from themobile computing device included in a content packet transmitted fromthe content distribution system. This allows for the wide scale adoptionof the content delivery system at vehicles by providing relatively lowcost components, including a projector, display screen, to attach to awindow, and a computer program to reduce the cost of wide scaledeployment. Further, the distributed computer programs deployed in thevehicles may enforce subscriber requirements for rendering the content,such as time period, location, and traffic density, to ensure therendering of the content on the display screen satisfies subscriberrequirements.

FIG. 1 illustrates an embodiment of a content distribution environmentincluding a content distribution system 100 to distribute targetedcontent over a network 102 to vehicles 104 ₁, 104 _(i) . . . 104 _(n)driving in the same or different regions. The content distributionsystem 100 comprises one or more processors 106, a main memory 108including various program components including an operating system 110,and a content distribution manager 112 to generate vehicle contentpackets 200 to transmit to motor vehicles 104 ₁, 104 _(i) . . . 104 _(n)over the network 102, where the network 102 transmits information to thevehicles 104 ₁, 104 _(i) . . . 104 _(n) over a wireless network 102. Thecontent distribution system 100 is in communication with a storage 116having a subscriber database 300 having subscriber information onsubscribers providing content to distribute to the vehicles 104 ₁, 104_(i) . . . 104 _(n) and a vehicle database 500 having vehicleinformation on vehicles 104 ₁, 104 _(i) . . . 104 _(n) registered withthe content distribution system to display content provided bysubscribers. An instance of the subscriber information 300′ from thesubscriber database 300 and vehicle information 500′ from the vehicledatabase 500 may be stored in the memory 108 for access.

The content distribution manager 112 may maintain content assignments600 providing information on content from subscribers assigned tovehicles 104 ₁, 104 _(i) . . . 104 _(n) to which the content isdistributed over the network 102.

Each vehicle 104 ₁, 104 _(i) . . . 104 _(n) may include the componentsshown in vehicle 104 _(i), including a mobile communication device 118storing a content rendering program 120 executed in the mobilecommunication device 118 to receive vehicle content packets 200 from thecontent distribution system 100 and generate content to stream to aprojector 122 to cause the display of the content on a display screen124 affixed to the vehicle 104 _(i). The mobile communication device 118further includes a Global Positioning System (GPS) 126 to determine alocation of the mobile communication device 118 and a wirelesstransceiver 128 to allow wireless communication with devices, such asBLUETOOTH®, wireless local area networking, e.t., WI-FI™, etc. Themobile communication device 118 may comprise a smartphone, a RASBERRYPI®, or other dedicated communication and processing device. The mobilecommunication device 118 may communicate with the projector 122 viawireless communication or through a cable connecting the mobilecommunication device 118 to the projector 122. In alternativeembodiments, there may be no projector 122 and the mobile communicationdevice 118 may stream content directly to the display screen 124 _(i) todirectly render. (Bluetooth is a registered trademark of the BluetoothSpecial Interest Group, WIFI is a trademark of the Wi-Fi Alliance,Rasberry Pi is a registered trademark of the Rasberry Pi Foundation).

In one embodiment the display screen 124 _(i) may be affixed to aninside of the rear window, as shown with display screens 124 ₁ and 124_(n). For instance, in one embodiment, the display screen 124 maycomprise a thin film or flexible display, such as a rollable displayscreen, a projection screen, etc. In certain embodiments, the displayscreen 124 _(i) may have an adhesive on one side to adhere to the insideof the rear window, as shown with display screens 124 ₁ and 124 _(n).Alternatively, the display screen 124 comprising a thin film display mayadhere to the window of the vehicle 104 _(i) by static cling.

The projector 122 may be affixed to an inside surface of the vehicle 104_(i) and project the streamed content onto the display screen such asthrough a projection system. In an alternative embodiment, the projector122 may be physically coupled to the display screen 124 _(i) to projectcontent to the display screen elements. In one embodiment, the displayscreen 124 _(i) may comprise a one-way transparent display to allow thedriver to see through the rear window from the inside of the car whilecontent is displayed on a surface of the display screen 124 _(i) facingoutward from the vehicle to be visible to persons external to thevehicle 104 _(i) such as a see through display, transparent LiquidCrystal Display (LCD), transparent organic light-emitting diode (OLED),etc. In thin film embodiments, the display screen 124 _(i) may compriseVistique Clear Film from Vislogix, Inc.

The vehicle 104 _(i) may further have a brake sensor 130 coupled to thebrake pedal to mechanically detect depression of the brake pedal or thebrake sensor 130 may be coupled to the vehicle 104 _(i) electricalsystem to detect when the brakes are being applied so as to cause therendering of a brake notification with the content simultaneouslyrendered on the display screen 124 _(i), to alert drivers behind thevehicle 104 _(i) that the brakes are being applied.

Further, the mobile communication device 118, projector 122, and displayscreen 124 _(i) may continue to render content to persons external tothe vehicle while the vehicle is in a parked or stopped state so thatpeople may continue to view content at the location of the vehicle.

With the embodiment of FIG. 1, the operator of the content distributionsystem 100 may provide drivers, such as ride-sharing drivers, thedisplay screen 124 _(i) and projector 122 to affix to their car. Inembodiments where the mobile communication device 118 comprises asmartphone, a driver may then download the content rendering program 120to their smartphone to use to stream content to the projector 122 tothen project onto the display screen 124 _(i). In further embodiments,the operator of the content distribution system 100 may further providethe mobile communication device 118 that is used to receive the vehiclecontent packets 200 and stream content therein to the projector 122.

The content distribution system 100 may comprise one or more servers,where the components and functions of the content distribution manager112 may be implemented in one or more servers. The vehicle 104 _(i) maycomprise any type of motor vehicle, personal vehicle, commercial, truck,bus, car, autonomously driven car, etc. The content distribution system100 may store program components and corresponding data, such as 110,112, 200, 300′, 500′, and 600 may be stored in a non-volatile storage(not shown) and loaded into the memory 104, which may comprise asuitable volatile or non-volatile memory devices, including thosedescribed above. The storage 116 may comprise a non-volatile storagesystem coupled directly to the content distribution system 100 or thecontent distribution system 100 may communicate with the storage 116over a network.

Generally, program modules, such as the program components 112, 120 maycomprise routines, programs, objects, components, logic, datastructures, and so on that perform particular tasks or implementparticular abstract data types. The program components and hardwaredevices of the content distributions system 100 and mobile communicationdevice 118 of FIG. 1 may be implemented in one or more computer systems,where if they are implemented in multiple computer systems, then thecomputer systems may communicate over a network.

The content distribution manager 112 may be accessed by the processor106 from the memory 104 to execute. The content rendering program 120may be executed by a processor in the mobile communication device 118.Alternatively, some or all of the program components 112, 120 may beimplemented in separate hardware devices, such as Application SpecificIntegrated Circuit (ASIC) hardware devices.

The functions described as performed by the programs 112, 120 may beimplemented as program code in fewer program modules than shown orimplemented as program code throughout a greater number of programmodules than shown.

The network 102 may comprise a cellular network, the Internet, etc.

FIG. 2 illustrates an embodiment of an instance 200 _(i) of a contentpacket generated by the content distribution manager 112 to direct to aparticular vehicle 104 ₁, 104 _(i), . . . 104 _(n), and includes amobile communication device network address 202 in a vehicle 104 _(i) towhich the content is targeted; one or more instances of content 204 ₁ .. . 204 _(n), such as video or still images; a time period 208 duringwhich the content is displayed 204 ₁ . . . 204 _(n), e.g., one or moretime ranges within a day, multiple days, etc.; a content location 210within which the content 204 ₁, . . . 204 _(n) is to be displayed, suchas a region or bounded area of Global Positioning System (GPS)coordinates, such as a city, township, part of town, shopping area,e.g., the Golden Triangle of Beverly Hills, Upper East Side ofManhattan, etc., or other identifiable or user defend area, also knownas a geo-fence. A geo-fence comprises a geographic boundary, defined byGPS or other technology, that enables software to trigger a responsewhen a mobile device enters or leaves a particular area; and a trafficdensity value 212 indicating a traffic density, e.g., light, moderate,heavy, in which the content 204 ₁ . . . 204 _(n) should be displayed.Content 204 ₁ . . . 204 _(n) instances may each be displayed for a setduration in continual loops during the time period 208 while thevehicle, identified by the mobile communication device address 202, ispresent within the content location 210 and traffic density 212.

FIG. 3 illustrates an embodiment of an instance of subscriberinformation 300 _(i) in the subscriber database 300 providinginformation on content provided by a subscriber, including a subscriberidentifier (ID) 302; one or more content instances 400 that thesubscriber 302 has transacted to have distributed to vehicles 104 ₁, 104_(i), . . . 104 _(n) to display. In certain embodiments, the subscribermay have purchased to have their content instances 400 distributed tovehicles, which may comprise advertisements or other types of contents.An online auction system, such as used with Google® ADWORDS®, may beused to enable subscribers to bid to have their content distributed tovehicles 104 ₁, 104 _(i), . . . 104 _(n) based on location, time period,and traffic density, where subscribers may pay more to have contentdistributed to more high traffic and high density locations withnumerous potential customers during time periods where potentialcustomers are likely to be present at the content location. (Google andADWORDS are registered trademarks of Google LLC throughout the world).

FIG. 4 illustrates an embodiment of a content instance 400 _(i) providedby a subscriber 302, and includes: a content identifier (ID) 402; acontent instance 404, such as a video, still image, etc.; a contentlocation value 406 indicating a region in which the content 404 is to bedisplayed, i.e., geo-fence; one or more time periods 408 during whichthe content 404 is to be displayed; a traffic density value 410indicating a traffic density in which the content 404 should bedisplayed, such as a minimum traffic density; and a priority value 412indicating a priority associated with the content 404 to be rendered,which may indicate a maximum payment the subscriber has made todistribute the content 404, such that content having a higher priorityvalue 412, higher fee paid, is preferred to transmit to vehicles 104 ₁,104 _(i), . . . 104 _(n) satisfying the criteria for rendering thecontent 404, 406, 408 over content 404 having a lower priority value ifthere is limited space available at the vehicles 104 ₁, 104 _(i), . . .104 _(n) to display the content according to the criteria 404, 406, 408for rendering content.

In further embodiments, there may be additional subscriber criteria forrendering content, in addition to location, time period, trafficdensity, and priority value.

FIG. 5 illustrates an embodiment of an instance of vehicle information500 _(i) in the vehicle database 500 having information on the vehicles104 ₁, 104 _(i), . . . 104 _(n) that have registered to streamdistributed content, including a vehicle identifier (ID) 502; a vehiclelocation value 504 indicating a current location of the vehicledetermined from a GPS signal from the vehicle mobile communicationdevice 118; an operational state 506 indicating whether the vehicle isoperating or off; a traffic density value 508 indicating the trafficdensity at the vehicle location 504, which may be determined bycontacting a traffic server over the network 102; accrued earnings 510indicating an amount the vehicle operator has earned by renderingcontent on the display screen 124 _(i) of the vehicle 104 _(i); avehicle network address 512 used to communicate with the mobilecommunication device 118 associated with the vehicle 502; and contentinstances assigned to the vehicle 514 to render during a time period.

In one embodiment, the vehicle location value 504 may be determined bythe mobile communication device 118 and transmitted to the contentdistribution manager 112. The vehicle traffic density value 508 may bedetermined by the mobile communication device 118 or contentdistribution manager 112 by sending a traffic Application ProgrammingInterface (API) with the vehicle location value 504 to a traffic servicethat provides real time traffic information.

FIG. 6 illustrates an embodiment of an instance of a content assignment600 _(i) of the content assignments 600 indicating a vehicle ID 602 of avehicle 104 _(i) (or network address of a mobile communication device118) at which the content identified by content ID 604 is to berendered, and a status 606 indicating whether the content was renderedor not. For an assignment 600 _(i), the vehicle attribute values, suchas 504, 506, 508 in the vehicle information 500 _(i), would satisfy thesubscriber rendering criteria, such as 406, 408, 410 in the contentinstance information 400 _(i), from the subscriber.

In certain embodiments, the subscriber database 300, vehicle database500, and content assignments 600 may be implemented in relationaldatabase records in one or more tables having the information fieldsdescribed in FIGS. 3, 4, 5, and 6. The databases 300, 500 andinformation 600 may also be implemented in other types of informationstores, such as an object oriented database, structured document, etc.

FIG. 7 illustrates an embodiment of operations performed by the contentdistribution manager 112 to generate content packets 200 for a currenttime period from content provided by subscribers for the current timeperiod. Upon initiating (at block 700) packet generating operations todistribute packets 200 to vehicles 104 ₁, 104 _(i), . . . 104 _(n), thecontent distribution manager 112 performs a loop of operations at blocks702 through 712 for each priority value p, from a highest priority valueto a lowest priority value. At block 704, a determination is made ofgroups of content instances 400 _(i), where each group has contentinstances with a priority value 412 of p, a time period 408 comprisingthe current time period, and a same location 406 and traffic density410. For each determined group of content instances 400 _(i), thecontent distribution manager 112 determines (at block 706) vehicleshaving an operational state 506 of operation and having a location 504and within a traffic density 508 of those 406, 410 in the group ofdetermined content instances being considered. For each determined groupof content instances for a same location 406 and traffic density 410 forwhich there are determined vehicles at the same location 504 and trafficdensity 508, the content distribution manager 112 assigns (at block 708)the group of content instances to one or more of the determined vehiclesin the determined group of content instances, where up to a maximumnumber of multiple content instances may be assigned to each vehicle.For each of the determined vehicles assigned content instances, thecontent distribution manager 112 constructs (at block 710) a contentpacket 200 including the vehicle network address 512 in field 202, thecontent 404 of the assigned content instances 400 i assigned to thevehicle, and the time period 408, location 406, and traffic density 410of the assigned content instances in fields 208, 210, and 212 of thepacket 200 _(i). If the packet 200 includes multiple content instances204 ₁ . . . 204 _(n), then the mobile communication device 118 mayalternate displaying the content for same or different durations, suchas in a round robin fashion, looping through the content 204 ₁ . . . 204_(n). The content distribution manager 112 transmits (at block 712) thecontent packets 200 _(i) to their identified mobile communication devicenetwork address 202 to render the content 204 ₁ . . . 204 _(n) on thedisplay screen 124 _(i) at the motor vehicle at which the content packet200 _(i) is received.

With the embodiment of FIG. 7, computer operations are optimized byselecting content instances to assign to vehicles and transmit to thevehicles by first assigning content instances having a highest priorityvalue so that higher priority value content instances are assigned anddistributed to the mobile communication devices 118 in the assignedvehicles 104 ₁, 104 _(i), . . . 104 _(n) before lower priority valuecontent. Further, content instances are grouped by location and trafficdensity to allow determination of vehicles having matching location andtraffic density to which the content instances are to be assigned tooptimize the assignment of content instances to vehicles. Describedembodiments provide real time calculations of location and trafficdensity for the vehicles to assign content based on current location 504and traffic density values 508 at the vehicles, as indicated in vehicleinformation 500 _(i), so that the content 404 is directed to vehiclescurrently satisfying the location 406 and traffic density 410 specifiedfor the content 404 in the content instance information 400 _(i). Inthis way, the described database information and data structuresimproves and optimizes the computer operations and algorithm to routeand assign subscriber content to mobile communication devices atvehicles to render on display screens at the vehicles.

FIG. 8 illustrates an embodiment of operations performed by the contentrendering program 120 in the mobile communication device 118 at avehicle 104 _(i), upon receiving a content packet 200 _(i) includingcontent 204 ₁ . . . 204 _(n), a time period during 208 which to displaycontent, a content location 210 in which the content instances are to berendered, and a traffic density value 212. Upon receiving (at block 800)the content packet 200 _(i), a current location of the vehicle 502 andthe vehicle traffic density value 508 may be updated (at block 802),such as from the GPS 126 in the mobile communication device 118 and bysending a command, via transceiver 128, to a network accessible trafficservice site to obtain current traffic density. If (at block 804) thecurrent time is within the content time period 208, a current vehiclelocation 504 within the content location 210, and the vehicle trafficdensity value 508 and the content traffic density value 212, i.e., thevehicle attributes satisfy the content packet attributes, then thecontent rendering program 120 initiates (at block 806) a sequence todisplay each content instance 204 ₁ . . . 204 _(n) for a displayduration. Each content instance 204 ₁ . . . 204 _(n) is transmitted (atblock 808) in the sequence to the projector 122 to render on the displayscreen 124 _(i) while the vehicle is in motion, stuck in traffic orparked. A content display time is incremented (at block 810) for eachcontent instance rendered by a time the content instance was rendered onthe display screen 124 _(i).

If (at block 804) the vehicle attribute values, such as current time,vehicle location 504, and vehicle traffic density 508, no longer satisfythe content time period 208, location 210, and traffic density 212requirements, then the content rendering program 120 terminates (atblock 812) transmission of the content to the projector to cease displayof content on the display screen 124 _(i). The content rendering program120 generates (at block 814) a display complete packet indicating thevehicle identifier 502 and for each content instance rendered includedin the acknowledgment packet, the content display time during which thecontent instance was rendered on the display screen 124 _(i). Thedisplay complete packet is transmitted (at block 816) to the contentdistribution system 100.

With the described embodiment of FIG. 8, content is rendered on adisplay screen 124 _(i) coupled to the vehicle 104 _(i) that display thereceived content visible to people external to the vehicle 104 _(i)looking at the display screen 124 _(i), while the driver may be able tosee a rear view of the road through the display screen 124 _(i).Further, the content rendering program 120 in the mobile communicationdevice 118 in the vehicle 104 _(i) further terminates the display of theprovided content if the rendering attributes are not satisfied, such asthe time period during 208 which content is to be displayed, the contentlocation 210 at which the content is to be displayed and/or a vehicletraffic density 508 is not the content traffic density 212 in which thecontent is to be rendered. Described embodiments provide improvedcomputer technology to ensure that content is only rendered if renderingwould satisfy requirements specified by subscribers by having thecontrol of the rendering handled at the vehicle 104 _(i) site.

FIG. 9 illustrates an embodiment of operations performed by the contentdistribution manager 112 upon receiving (at block 900) from a vehicle104 _(i) a complete packet indicating the content display times forcontent instances rendered on the display screen 124 _(i) at the vehicle104 _(i) for a time period 208, location 210, and traffic density 212specified for the rendering. The content distribution manager 112determines (at block 902) a fee associated with a lowest priority valueof all assigned content instances 400 _(i), in the content assignments600, having the same content time period 404, content location 406, andcontent traffic density value 410 as that of the content instancesassigned to the vehicle sending the complete packet. If contentinstances for a same location, time period, and traffic density aredistributed for different priority values, then a subscriber purchasinga higher priority value will only be charged commensurate with thesubscriber purchasing at a lowest priority value who had contentdistributed to vehicles for the same time period, location, and trafficdensity. This ensures that all subscribers are charged a same amount,the fee associated with the lowest priority value having contentdistributed according to the same criteria, e.g., time period, location,and traffic density. Earnings for the vehicle/driver sending thecomplete packet are calculated (at block 904) based on the contentdisplay times and determined fee. The vehicle accrued earnings 510 areincremented (at block 906) by the calculated earnings.

With the embodiment of FIG. 9, even if subscribers paid differentamounts for different priority values for content to render at a sametime period, location, and traffic density, all subscribers having theircontent distributed for the same time period, location, and trafficdensity will be charged the same amount, at the level of the contenthaving a lowest priority value, so that subscribers bidding at higherlevels do not pay more for the same level of content distributionservice. In this way, described embodiments provide improved computertechnology for calculating charges and earnings to subscribers thatensure fairness in the charging of services.

FIG. 10 illustrates an embodiment of operations performed by the contentrendering program 120 to process a brake signal from the brake sensor130 indicating that brakes have been applied, such as through depressionof the brake pedal. Upon detecting (at block 1000) a brake signal, thecontent rendering program 120 continues (at block 1002) to rendercontent from a content package 200 _(i) on the display screen 124 _(i).The content rendering program 120 may further render (at block 1004) abrake notification graphic on the display screen 124 _(i) concurrentlywith rendering the content 204 _(i) on the display screen 124 _(i).

With the embodiment of FIG. 10, if the brake is applied while content isbeing rendered on the display 124 _(i), the content rendering program120 continues to display 124 _(i) the content, but also displays a brakenotification to alert drivers behind the vehicle of application of thebrake to improve safety.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer program product comprises a computer readable storagemedium implemented using standard programming and/or engineeringtechniques to produce software, firmware, hardware, or any combinationthereof. The described operations may be implemented as code or logicmaintained in a “computer readable storage medium”. The term “code” and“program code” as used herein refers to software program code, hardwarelogic, firmware, microcode, etc. The computer readable storage medium,as that term is used herein, includes a tangible element, including atleast one of electronic circuitry, storage materials, a casing, ahousing, a coating, hardware, and other suitable materials. A computerreadable storage medium may comprise, but is not limited to, a magneticstorage medium (e.g., hard disk drives, floppy disks, tape, etc.),optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile andnon-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs,SRAMs, Flash Memory, firmware, programmable logic, etc.), Solid StateDevices (SSD), computer encoded and readable punch cards, etc. Thecomputer readable storage medium may further comprise a hardware deviceimplementing firmware, microcode, etc., such as in an integrated circuitchip, a programmable logic device, a Programmable Gate Array (PGA),field-programmable gate array (FPGA), Application Specific IntegratedCircuit (ASIC), etc. A computer readable storage medium is not comprisedsolely of transmission signals and includes physical and tangiblecomponents. Those skilled in the art will recognize that manymodifications may be made to this configuration without departing fromthe scope of the present invention, and that the article of manufacturemay comprise suitable information bearing medium known in the art.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The computational components of FIG. 1, including the contentdistribution system 100 and the mobile communication device 118 may beimplemented in one or more computer systems, having a computerarchitecture as shown in FIG. 11, and including a processor 1102 (e.g.,one or more microprocessors and cores), a memory 1104 (e.g., a volatilememory device), and storage 1106 (e.g., a non-volatile storage, such asmagnetic disk drives, solid state devices (SSDs), optical disk drives, atape drive, etc.). The storage 1106 may comprise an internal storagedevice or an attached or network accessible storage. Programs, includingan operating system 1108 and applications 1110 stored in the storage1106 are loaded into the memory 1104 and executed by the processor 1102.The architecture 1100 further includes a network card 1112 to enablecommunication with the network 102, which may comprise a wirelessnetwork, e.g., cellular, WI-FI™, BLUETOOTH® or a wired network. An inputdevice 1114 is used to provide user input to the processor 1102, and mayinclude a keyboard, mouse, pen-stylus, microphone, touch sensitivedisplay screen, or any other activation or input mechanism known in theart. An output device 1116, such as a display monitor, printer, storage,etc., is capable of rendering information transmitted from a graphicscard or other component. The output device 1116 may render the GUIsdescribed with respect to figures and the input device 1114 may be usedto interact with the graphical controls and elements in the GUIsdescribed above. The architecture 1100 may be implemented in any numberof computing devices, such as a server, mainframe, desktop computer,laptop computer, hand held computer, tablet computer, personal digitalassistant (PDA), telephony device, cell phone, etc.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, and “one embodiment” mean “one or more (but not all)embodiments of the present invention(s)” unless expressly specifiedotherwise.

The terms “including”, “comprising”, “having” and variations thereofmean “including but not limited to”, unless expressly specifiedotherwise.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expresslyspecified otherwise.

Devices that are in communication with each other need not be incontinuous communication with each other, unless expressly specifiedotherwise. In addition, devices that are in communication with eachother may communicate directly or indirectly through one or moreintermediaries.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle or a different number of devices/articles may be used instead ofthe shown number of devices or programs. The functionality and/or thefeatures of a device may be alternatively embodied by one or more otherdevices which are not explicitly described as having suchfunctionality/features. Thus, other embodiments of the present inventionneed not include the device itself.

The foregoing description of various embodiments of the invention hasbeen presented for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe invention. Since many embodiments of the invention can be madewithout departing from the spirit and scope of the invention, theinvention resides in the claims herein after appended.

What is claimed is:
 1. A computer program product included in a mobilecommunication device deployed in a motor vehicle having a displayscreen, wherein the mobile communication device is in communication witha content distribution system, and wherein the computer program productcomprises a non-transitory computer readable storage medium storing acomputer program that when executed by the mobile communication deviceperforms operations, the operations comprising: receiving a contentpacket from the content distribution system, by the mobile communicationdevice while deployed in the motor vehicle, having a plurality ofcontent instances and a content location for each content instance;determining, by the mobile communication device while deployed in themotor vehicle, whether the motor vehicle is within the content locationbased on a vehicle location of the motor vehicle; transmitting eachcontent instance of the plurality of content instances in the contentpacket, at the mobile communication device, to render on the displayscreen for a content duration in response to determining that the motorvehicle is within the content location for the content instance, whereineach content instance in the content packet is transmitted to render onthe display screen for the content duration while the motor vehicle iswithin the content location for the content instance; and terminatingthe mobile communication device transmitting the content instances inthe content packet to cease rendering the content instances from thecontent packet on the display screen in response to determining that themotor vehicle is outside of the content location for the contentinstances.
 2. The computer program product of claim 1, wherein thecontent packet indicates a time period, wherein the operations furthercomprise: determining whether an end of the time period has beenreached; transmitting the content instances, in the mobile communicationdevice, to render on the display screen in response to determining thatan end of the time period has not been reached; and terminating themobile communication device transmitting the content instances in thecontent packet to cease rendering the content instances from the contentpacket on the display screen in response to determining that the end ofthe time period has been reached.
 3. The computer program product ofclaim 1, wherein the operations further comprise: receiving, at themobile communication device, a brake signal from a brake sensor when abrake of the motor vehicle is applied to reduce speed; and continuing todisplay the content instances from the content packet on the displayscreen during the brake sensor transmitting the brake signal.
 4. Thecomputer program product of claim 3, wherein the operations furthercomprise: displaying a brake notification on the display screen inresponse to the brake signal concurrently with rendering the contentinstances on the display screen visible to persons external to the motorvehicle, wherein the brake notification indicates that the brake of themotor vehicle is being applied.
 5. The computer program product of claim1, wherein the content instances continue to be transmitted to render onthe display screen while the motor vehicle is in a parked state torender the content instances on the display screen while the motorvehicle is in the parked state visible to people external to the motorvehicle.
 6. The computer program product of claim 1, wherein theoperations further comprise: maintaining a content display time for eachcontent instance of the content instances in the content packetindicating a duration during which the content instance was rendered onthe display screen; and transmitting, to the content distributionsystem, indication for each content instance rendered on the displayscreen and the content display time during which the content instancewas rendered.
 7. The computer program product of claim 1, wherein thecontent instances are transmitted to a projector coupled to a surfacewithin the motor vehicle, wherein the display screen comprises a thinfilm affixed to an inside of a rear window of the motor vehicle, andwherein the projector projects the content instances onto the thin film,wherein the thin film is transparent from a perspective of a personwithin the motor vehicle looking out the rear window while the contentinstances are being rendered on the thin film to be viewable to peopleexternal to the motor vehicle.
 8. A computer program product included ina mobile communication device deployed in a motor vehicle having adisplay screen, wherein the mobile communication device is incommunication with a content distribution system, and wherein thecomputer program product comprises a non-transitory computer readablestorage medium storing a computer program that when executed by themobile communication device performs operations, the operationscomprising: receiving a content packet from the content distributionsystem, by the mobile communication device while deployed in the motorvehicle, having content and a content traffic density value;determining, by the mobile communication device while deployed in themotor vehicle, a first current traffic density value based on a firstcurrent location of the motor vehicle; determining whether the firstcurrent traffic density value does not comprise the content trafficdensity value in the content packet at the mobile communication device;transmitting content, in the mobile communication device, to render onthe display screen in response to determining that the first currenttraffic density value comprises the content traffic density value in thecontent packet; and terminating the mobile communication devicetransmitting the content in the content packet to cease renderingcontent from the content packet on the display screen in response todetermining that a second current traffic density value based on asecond current location of the motor vehicle does not comprise thecontent traffic density value in the content packet.
 9. A systemdeployed in a motor vehicle, comprising: a display screen attached to awindow within the motor vehicle; a mobile communication device,including a computer readable storage medium, in communication with acontent distribution system; a computer program stored in the computerreadable storage medium of the mobile communication device that whenexecuted by the mobile communication device performs operations, theoperations comprising: receiving a content packet from the contentdistribution system, by the mobile communication device while deployedin the motor vehicle, having a plurality of content instances and acontent location for each content instance; determining, by the mobilecommunication device while deployed in the motor vehicle, whether themotor vehicle is within the content location based on a vehicle locationof the motor vehicle; transmitting each content instance of theplurality of content instances in the content packet, at the mobilecommunication device, to render on the display screen for a contentduration in response to determining that the motor vehicle is within thecontent location for the content instance, wherein each content instancein the content packet is transmitted to render on the display screen fora content duration while the motor vehicle is within the contentlocation for the content instance; and terminating the mobilecommunication device transmitting the content instances in the contentpacket to cease rendering the content instances from the content packeton the display screen in response to determining that the motor vehicleis outside of the content location for the content instances.
 10. Thesystem of claim 9, wherein the operations performed by the mobilecommunication device further comprise: receiving a brake signal from abrake sensor when a brake of the motor vehicle is applied to reducespeed; and continuing to display the content instances from the contentpacket on the display screen during the brake sensor transmitting thebrake signal.
 11. The system of claim 10, wherein the operationsperformed by the mobile communication device further comprise:displaying a brake notification on the display screen in response to thebrake signal concurrently with rendering the content instances on thedisplay screen visible to persons external to the motor vehicle, whereinthe brake notification indicates that the brake of the motor vehicle isbeing applied.
 12. The system of claim 9, wherein the operationsperformed by the mobile communication device further comprise: aprojector coupled to a surface within the motor vehicle, wherein thedisplay screen comprises a thin film affixed to an inside of a rearwindow of the motor vehicle, wherein the content instances aretransmitted to the projector, and wherein the projector projects thecontent instances onto the thin film, wherein the thin film istransparent from a perspective of a person within the motor vehiclelooking out the rear window while the content instances are beingrendered on the thin film to be viewable to people external to the motorvehicle.
 13. A system deployed in a motor vehicle, comprising: a displayscreen attached to a window within the motor vehicle; a mobilecommunication device, including a computer readable storage medium, incommunication with a content distribution system; a computer programstored in the computer readable storage medium of the mobilecommunication device that when executed by the mobile communicationdevice performs operations, the operations comprising: receiving acontent packet from the content distribution system, by the mobilecommunication device while deployed in the motor vehicle, having contentand a content traffic density value; determining, by the mobilecommunication device while deployed in the motor vehicle, a firstcurrent traffic density value based on a first current location of themotor vehicle; determining whether the first current traffic densityvalue does not comprise the content traffic density value in the contentpacket at the mobile communication device; transmitting content, in themobile communication device, to render on the display screen in responseto determining that the first current traffic density value comprisesthe content traffic density value in the content packet; and terminatingthe mobile communication device transmitting the content in the contentpacket to cease rendering content from the content packet on the displayscreen in response to determining that a second current traffic densityvalue based on a second current location of the motor vehicle does notcomprise the content traffic density value in the content packet.
 14. Amethod implemented in a mobile communicate device deployed in a motorvehicle having a display screen, comprising: receiving, by the mobilecommunication device while deployed in the motor vehicle, a contentpacket from a content distribution system having a plurality of contentinstances and a content location for each content instance; determining,by the mobile communication device while deployed in the motor vehicle,whether the motor vehicle is within the content location based on avehicle location of the motor vehicle; transmitting each contentinstance of the plurality of content instances in the content packet, atthe mobile communication device, to render on the display screen for acontent duration in response to determining that the motor vehicle iswithin the content location for the content instance, wherein eachcontent instance in the content packet is transmitted to render on thedisplay screen for a content duration while the motor vehicle is withinthe content location for the content instance; and terminating themobile communication device transmitting the content instances in thecontent packet to cease rendering the content instances from the contentpacket on the display screen in response to determining that the motorvehicle is outside of the content location for the content instances.15. The method of claim 14, further comprising: receiving, at the mobilecommunication device, a brake signal from a brake sensor when a brake ofthe motor vehicle is applied to reduce speed; and continuing to displaythe content instances from the content packet on the display screenduring the brake sensor transmitting the brake signal.
 16. The method ofclaim 15, further comprising: displaying a brake notification on thedisplay screen in response to the brake signal concurrently withrendering the content instances on the display screen visible to personsexternal to the motor vehicle, wherein the brake notification indicatesthat the brake of the motor vehicle is being applied.
 17. The method ofclaim 14, a wherein a projector is coupled to a surface within the motorvehicle, wherein the display screen comprises a thin film affixed to aninside of a rear window of the motor vehicle, wherein the contentinstances are transmitted to the projector, and wherein the projectorprojects the content instances onto the thin film, wherein the thin filmis transparent from a perspective of a person within the motor vehiclelooking out the rear window while the content instances are beingrendered on the thin film to be viewable to people external to the motorvehicle.
 18. A method implemented in a mobile communicate devicedeployed in a motor vehicle having a display screen, comprising:receiving a content packet from a content distribution system, by themobile communication device while deployed in the motor vehicle, havingcontent and a content traffic density value; determining, by the mobilecommunication device while deployed in the motor vehicle, a firstcurrent traffic density value based on a current location of the motorvehicle; determining whether the first current traffic density valuedoes not comprise the content traffic density value in the contentpacket at the mobile communication device; transmitting content, in themobile communication device, to render on the display screen in responseto determining that the first current traffic density value comprisesthe content traffic density value in the content packet; and terminatingthe mobile communication device transmitting the content in the contentpacket to cease rendering content from the content packet on the displayscreen in response to determining that a second current traffic densityvalue based on a second current location of the motor vehicle does notcomprise the content traffic density value in the content packet.